﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Input;

namespace BattleTank3D
{
    class Casulo
    {
        //posição do objeto no terreno
        public Vector3 position;
        
        
        //vetor direção na qual o inimigo está se movendo
        public Vector3 direction;// { get; set; }

        //velocidade de movimento do inimigo
        public float speed { get; set; }

        //modelo do inimigo
        public Model model { get; set; }

        //alvo do inimigo. Segundo seu comportamento, o inimigo caminha para um alvo randomico até que chegue a esta posição ou aviste o jogador.
        //Caso aviste o jogador, a posição deste passa a ser o novo alvo. Caso chegue ao alvo sem avistar o jogador um novo alvo será determinado.
        public Vector3 target;

        //Construtor da classe inimigo. Atribui alguns valores.
        public Casulo()
        {
            this.position = Vector3.Zero;
            this.target = this.position;
            this.speed = 0.1f;            
        }

        
        //Desenha o modelo na tela
        public void Draw(Matrix view, Matrix proj)
        {
            model.Draw(Matrix.CreateTranslation(this.position), view, proj);
        }

        //Desenha o modelo no Mapa
        public void DrawOnMap(Matrix view, Matrix proj)
        {
            model.Draw(Matrix.CreateTranslation(this.position), view, proj);
        }

        public void setPosition(Vector3 v)
        {
            this.position = v;
        }
        
        //atualiza a posição
        public void Update(Vector3 p)
        {
            
        }
    }
}

